//
// Created by chaseaishang on 23-4-10.
//

#pragma once
#include "test.h"
#include "Render/VertexBuffer.h"
#include "Render/VertexBufferLayout.h"
#include "Render/Texture.h"
#include <memory>
namespace test {
class Testcube : public Test
{
public:
    Testcube();
    virtual ~Testcube();

    virtual void OnUpdate(float deltaTime)override;
    virtual void OnEvent(Event& e)override;
    virtual void OnRender()override;
    virtual void OnImGuiRender() override;
private:
    std::unique_ptr<VertexArray> m_VAO;
    std::unique_ptr<IndexBuffer> m_IndexBuffer;
    std::unique_ptr<VertexBuffer> m_VertexBuffer;
    std::unique_ptr<Shader> m_Shader;
    std::unique_ptr<Texture> m_Texture;

    glm::mat4 m_Proj, m_View;
    float m_rotate;
    glm::vec3 m_TranslationA, m_TranslationB;

};
}



